# -*- coding: utf-8 -*- 
# @project : 《Atcoder》
# @Author : created by bensonrachel on 2021/7/12
# @File : 162 D - RGB Triplets.py

N = int(input())
str = input()
str = "X" + str
if (N <= 3):
    print(0)
    exit()


def re(i, j, k):
    if (str[i] != str[j] and str[i] != str[k] and str[j] != str[k]):
        return True
    else:
        return False


r = 0
g = 0
b = 0
for i in str:
    if (i == "R"): r += 1
    if (i == "G"): g += 1
    if (i == "B"): b += 1
product = r * g * b  # 先算出总的（三元组为RGB的，都是相异的），再减去等距的就是不等距的情况。
d = 0  # 等距的数量
for i in range(1, N - 1):
    for j in range(i + 1, N):
        k = 2 * j - i  # 等距情况：j - i = k - j,所以 k = 2*j-i
        if (k > N): break
        if (re(i, j, k)): d += 1
print(product - d)



"""
这种计算体量很大的，一般先算出总体和方便计算的补集，再由总体减去这个补集来求出需要求的。
例如本题，先算出总的（三元组为RGB的，都是相异的），再减去等距的就是不等距的情况。

等距情况：

j - i = k - j 

所以k = 2*j - i

所以只需要双循环遍历所有i，j，找出所有等距的RGB（相异的）的数量，用总的RGB的 减去 等距的RGB 等于 不等距的RGB

"""